package com.example.board.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * <p>
 * 客户档案
 * </p>
 *
 * @author xiaoqi
 * @since 2022-10-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sd_user_record")
@ApiModel(value="SdUserRecord对象", description="客户档案")
public class UserRecord implements Serializable {

    private static final long serialVersionUID=1L;

    @ApiModelProperty(value = "id")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "销售员id")
    @TableField("tool_man_id")
    private Long toolManId;

    @ApiModelProperty(value = "用户id")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty(value = "审核状态(-1:已驳回, 0:待审核, 1:已通过)")
    @TableField("examine_state")
    private Integer examineState;

    @ApiModelProperty(value = "审核时间")
    @TableField("examine_time")
    private LocalDateTime examineTime;

    @ApiModelProperty(value = "驳回理由")
    @TableField("examine_fail_reason")
    private String examineFailReason;

    @ApiModelProperty(value = "店铺名称")
    @TableField("shop_name")
    private String shopName;

    @ApiModelProperty(value = "店铺联系人")
    private String name;

    @ApiModelProperty(value = "手机号码")
    private String phone;

    @ApiModelProperty(value = "店铺类型id")
    @TableField("shop_class_id")
    private Long shopClassId;

    @ApiModelProperty(value = "在用规格袋子用量(月)")
    @TableField("monthly_usage")
    private Integer monthlyUsage;

    @ApiModelProperty(value = "开始营业时间")
    @TableField("business_start_time")
    private LocalTime businessStartTime;

    @ApiModelProperty(value = "结束营业时间")
    @TableField("business_end_time")
    private LocalTime businessEndTime;

    @ApiModelProperty(value = "店铺地址-省")
    @TableField("shop_province")
    private String shopProvince;

    @ApiModelProperty(value = "店铺地址-市")
    @TableField("shop_city")
    private String shopCity;

    @ApiModelProperty(value = "店铺地址-区")
    @TableField("shop_district")
    private String shopDistrict;

    @ApiModelProperty(value = "店铺地址-详细地址")
    @TableField("shop_detail_address")
    private String shopDetailAddress;

    @ApiModelProperty(value = "店铺地址-经度")
    @TableField("shop_longitude")
    private BigDecimal shopLongitude;

    @ApiModelProperty(value = "店铺地址-纬度")
    @TableField("shop_latitude")
    private BigDecimal shopLatitude;

    @ApiModelProperty(value = "店铺图片")
    @TableField("shop_images")
    private String shopImages;

    @ApiModelProperty(value = "店铺袋子样品图片")
    @TableField("shop_product_images")
    private String shopProductImages;

    @ApiModelProperty(value = "相似商品ids")
    @TableField("shop_similar_product_ids")
    private String shopSimilarProductIds;

    @ApiModelProperty(value = "是否定制版图(0:暂不需要, 1:考虑中, 2:需要)")
    @TableField("on_custom_product")
    private Integer onCustomProduct;

    @ApiModelProperty(value = "意向程度(0:拜访客户, 1:意向客户, 2:待确定版图, 3:成交客户)")
    @TableField("intention_degree")
    private Integer intentionDegree;

    @ApiModelProperty(value = "锁定开始时间")
    @TableField("lock_begin_time")
    private LocalDateTime lockBeginTime;

    @ApiModelProperty(value = "锁定时间")
    @TableField("lock_day")
    private Integer lockDay;

    @ApiModelProperty(value = "备注信息")
    private String remark;

    @ApiModelProperty(value = "拜访次数")
    @TableField("visited_number")
    private Integer visitedNumber;

    @ApiModelProperty(value = "无意向原因")
    @TableField("no_intention_reason")
    private String noIntentionReason;

    @ApiModelProperty(value = "相近标品袋子用量(月)")
    @TableField("monthly_usage1")
    private Integer monthlyUsage1;

    @ApiModelProperty(value = "客户编号")
    @TableField("customer_number")
    private String customerNumber;

    @ApiModelProperty(value = "创建时间")
    @TableField("created_at")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "创建人")
    @TableField("created_by")
    private Long createdBy;

    @ApiModelProperty(value = "逻辑删除时间")
    @TableField("deleted_at")
    private LocalDateTime deletedAt;

    @ApiModelProperty(value = "修改时间")
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    @ApiModelProperty(value = "修改人")
    @TableField("updated_by")
    private Long updatedBy;

    @ApiModelProperty(value = "其他联系方式")
    @TableField("other_contact_information")
    private String otherContactInformation;

    @ApiModelProperty(value = "是否意向客户")
    @TableField("on_intention")
    private Boolean onIntention;

    @ApiModelProperty(value = "预计下单时间")
    @TableField("predict_order_time")
    private LocalDate predictOrderTime;

    @ApiModelProperty(value = "状态")
    private Integer state;


}
